The present invention relates generally to computer graphics. More particularly, the present invention relates to run-time integration of an inset geometry into a background geometry.
Computers have been used for many years to do image and graphics generation. In recent years computer generated graphics have become more sophisticated and the power of computer equipment has increased. Similarly, users"" expectations of computer graphics have also increased. Computer users have come to expect more realism in computer graphics which generally means that there are more objects, and more light and texture processing on those objects.
Complex images and scenes are mathematically modeled in a three-dimensional space in the computer memory and manipulated accordingly. These three-dimensional mathematical models are called wire frames because all the edges of the object are visible at the same time when displayed. Three-dimensional models are made to look more realistic by removing the edges which should be hidden and by applying color and shading to the visible surfaces of the model. Texture also improves a simple polygon model by adding opacity and color variations.
In order to provide a better understanding of computer graphics architecture, a generalized computer graphics system will now be discussed. In FIG. 1, a host processor 20 is provided to process a display model or database. The host processor is connected to a geometry subsystem 22, which transforms object coordinate polygon data to the world coordinate system. The geometry system can also take care of lighting, viewing transformation and mapping to screen coordinates. The rasterization subsystem 24 converts transformed primitives to pixels and subpixels. Rasterization includes scan conversion, visible-surface determination and shading. Each pixel and/or subpixel is typically assigned an X and Y coordinate, a RGBA (i.e., Red, Green, Blue, Alpha) color value and a Z-value. The pixels are stored in a frame buffer 26 and then output to a display 28.
One element of a computer graphics system that is particularly relevant to the present discussion is the geometry subsystem. This is where the world model is processed and the transformation of the model will take place. Typically, the world model that is supplied to the geometry subsystem is fixed at run-time and the entire database that represents the scene geometry is compiled in advance. Up to this point in time, models or databases have only practically been modifiable at compile time and any insertion to the system model has been a compile time operation that involves reconstructing the model. This process is time consuming and can take anywhere from an hour up to several hours.
An example of a computer graphics application that has used compiled modeling techniques is high performance vehicle simulation. Such a simulation system may often include a cab that is a vehicle mock-up containing a crew compartment with vehicle instruments and controls. The cab can be mounted on a motion base to provide motion and acceleration cues by moving the cab. The motion base is coupled to a visual system, which provides out-the-window imagery and environmental data for the crew, host, or both.
A software system called the host oversees the operation of the simulator. The host monitors the control inputs provided by the crew, and causes the cockpit dials, instruments and displays to reflect the ongoing simulation status. In addition, the host controls the motion base and related audio systems, and tells the visual system what it needs to know to draw the corresponding out-the-window scene. A real-time system is a software program within the visual system that controls the image generator in response to host inputs.
The host tells the real-time system about object positions in the simulated environment (e.g., own aircraft, traffic aircraft, ground traffic, storms, etc.), the status of switchable or selectable items (e.g., runway and environmental lights, runway contamination, etc.), and position of global environmental effects like illumination (e.g., day, dusk, night) and visibility (e.g., fog, rain, snow, etc.). The real-time system returns data such as the nature of the surface beneath the tires of the aircraft, and whether collisions have occurred between the aircraft and other traffic or storm cells. This communication is largely asynchronous which means it occurs randomly as needed and is not locked to the ongoing computation of regular image frames. A simulation system can also contain many different types of scene elements such as terrain, aerials or tree canopies, linear features (roads, hedgerows, fences), and point features (trees, power poles, houses, light points). Other models can be included in the system such as moving models of airplanes, cars, and helicopters, or environmental models such as clouds, sky, storms, or lightning flashes, etc.
The real-time system gets the required scene data from disk storage and loads it into the appropriate parts of the image generator in an on-going background process called paging. It also sends commands to the image generator to implement lighting, environmental, and other special effects called for by the host. The real-time system determines the proper level-of-detail (LOD) for scene elements and prepares them for rendering after eliminating elements that will not appear in the scene. This process includes the translations and rotations needed to get scene elements into their proper position within the scene. In other words, the real-time system controls the geometry engine and provides the input needed to allow the scene to be viewed and transformed. Further, the real-time system also manages the rendering portion of the image generator in a synchronous, lock-step fashion that guarantees a steady stream of video to the displays.
The invention provides a method for integrating an inset geometry within a background geometry. The method comprises the step of identifying a perimeter of the inset geometry. A further step is extending a skirt, having an outer perimeter and an inner perimeter, from the perimeter of the inset geometry out over the background geometry. An additional step is removing portions of the background geometry that are covered by the inset geometry and skirt. Another step is modifying the skirt so that the outer perimeter of the skirt matches background geometry behavior and the inner perimeter matches inset geometry behavior and a continuous transition exists between the outer perimeter and the inner perimeter.
Additional features and advantages of the invention will be apparent from the detailed description which follows, taken in conjunction with the accompanying drawings, which together illustrate, by way of example, features of the invention.